package com.example.crm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.crm.entity.SalesStage;

import java.util.List;

/**
 * 销售阶段服务接口
 */
public interface SalesStageService extends IService<SalesStage> {
    
    /**
     * 根据流程ID获取阶段列表
     * @param processId 流程ID
     * @return 阶段列表
     */
    List<SalesStage> listStagesByProcessId(Long processId);
    
    /**
     * 获取阶段详情
     * @param id 阶段ID
     * @return 阶段详情
     */
    SalesStage getStageDetail(Long id);
    
    /**
     * 添加阶段
     * @param stage 阶段信息
     * @return 是否成功
     */
    boolean addStage(SalesStage stage);
    
    /**
     * 批量添加阶段
     * @param stages 阶段列表
     * @param processId 流程ID
     * @return 是否成功
     */
    boolean batchAddStages(List<SalesStage> stages, Long processId);
    
    /**
     * 更新阶段
     * @param stage 阶段信息
     * @return 是否成功
     */
    boolean updateStage(SalesStage stage);
    
    /**
     * 删除阶段
     * @param id 阶段ID
     * @return 是否成功
     */
    boolean deleteStage(Long id);
    
    /**
     * 批量删除流程下的所有阶段
     * @param processId 流程ID
     * @return 是否成功
     */
    boolean deleteStagesByProcessId(Long processId);
} 